#ifndef __DAISY_AUDIOFMOD_FMOD_SOUND_MANAGER_H__
#define __DAISY_AUDIOFMOD_FMOD_SOUND_MANAGER_H__


#include "AudioFmodConfig.h"
#include <daisy\System.h>
namespace DAISY
{
class FmodSoundManagerImpl;
template class _DaisyAudioFmodExport boost::scoped_ptr<FmodSoundManagerImpl>;
class _DaisyAudioFmodExport FmodSoundManager : public ISoundManager
{

public:
	FmodSoundManager(void);
	virtual ~FmodSoundManager(void);
	
	bool init(void);
	void shutdown(void);
	bool update(TimeType interval);
	SoundPlayerPtr createPlayer(const std::string & fileName, bool stream);
private:
	boost::scoped_ptr<FmodSoundManagerImpl> _impl;
};


SYSTEMUNIT_BEGIN(FmodSoundManager) 
SYSTEMUNIT_INIT 
SYSTEMUNIT_UPDATE 
SYSTEMUNIT_SHUTDOWN 
SYSTEMUNIT_END(FmodSoundManager)

}



//\
//	 \
//SYSTEMUNIT_FACTORY(Interface, FmodSoundManager)




#endif 
